[INFO] fetching crate hexe_core 0.0.5...
[INFO] checking hexe_core-0.0.5 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate hexe_core 0.0.5 into /workspace/builds/worker-0-tc1/source
[INFO] validating manifest of crates.io crate hexe_core 0.0.5 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate hexe_core 0.0.5
[INFO] finished tweaking crates.io crate hexe_core 0.0.5
[INFO] tweaked toml for crates.io crate hexe_core 0.0.5 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded uncon_derive v1.1.1
[INFO] [stderr]   Downloaded uncon v1.1.0
[INFO] [stderr]   Downloaded static_assertions v0.2.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0097aa6249232ba41abafc06d0950f4fbc71712454c993104665ff8319de0dca
[INFO] running `Command { std: "docker" "start" "-a" "0097aa6249232ba41abafc06d0950f4fbc71712454c993104665ff8319de0dca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0097aa6249232ba41abafc06d0950f4fbc71712454c993104665ff8319de0dca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0097aa6249232ba41abafc06d0950f4fbc71712454c993104665ff8319de0dca", kill_on_drop: false }`
[INFO] [stdout] 0097aa6249232ba41abafc06d0950f4fbc71712454c993104665ff8319de0dca
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ba2b2de48f578a9c551a17f9be53850bc6ed8ccf7d2f38c271e84d175bdf981a
[INFO] running `Command { std: "docker" "start" "-a" "ba2b2de48f578a9c551a17f9be53850bc6ed8ccf7d2f38c271e84d175bdf981a", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]     Checking uncon v1.1.0
[INFO] [stderr]     Checking memchr v2.7.1
[INFO] [stderr]     Checking static_assertions v0.2.5
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]    Compiling uncon_derive v1.1.1
[INFO] [stderr]     Checking hexe_core v0.0.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/board/piece_map/mod.rs:209:21
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 b'1'...b'8' => {
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/square/mod.rs:109:28
[INFO] [stdout]     |
[INFO] [stdout] 109 |                         $lo...$hi => unsafe { ($b - $lo).into_unchecked() },
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 114 |             Ok(Square::new(convert!(b'a', b'h', bytes[0] | 32),
[INFO] [stdout]     |                            ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `convert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/square/mod.rs:109:28
[INFO] [stdout]     |
[INFO] [stdout] 109 |                         $lo...$hi => unsafe { ($b - $lo).into_unchecked() },
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 115 |                            convert!(b'1', b'8', bytes[1])))
[INFO] [stdout]     |                            ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `convert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/square/mod.rs:514:22
[INFO] [stdout]     |
[INFO] [stdout] 514 |             b @ b'a' ... b'f' => unsafe {
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/square/mod.rs:568:22
[INFO] [stdout]     |
[INFO] [stdout] 568 |             b @ b'1' ... b'8' => unsafe {
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/board/piece_map/mod.rs:209:21
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 b'1'...b'8' => {
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/square/mod.rs:109:28
[INFO] [stdout]     |
[INFO] [stdout] 109 |                         $lo...$hi => unsafe { ($b - $lo).into_unchecked() },
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 114 |             Ok(Square::new(convert!(b'a', b'h', bytes[0] | 32),
[INFO] [stdout]     |                            ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `convert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/square/mod.rs:109:28
[INFO] [stdout]     |
[INFO] [stdout] 109 |                         $lo...$hi => unsafe { ($b - $lo).into_unchecked() },
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 115 |                            convert!(b'1', b'8', bytes[1])))
[INFO] [stdout]     |                            ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `convert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/square/mod.rs:514:22
[INFO] [stdout]     |
[INFO] [stdout] 514 |             b @ b'a' ... b'f' => unsafe {
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/square/mod.rs:568:22
[INFO] [stdout]     |
[INFO] [stdout] 568 |             b @ b'1' ... b'8' => unsafe {
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/board/piece_map/mod.rs:257:47
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let mut map: PieceMap = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/board/piece_map/mod.rs:732:43
[INFO] [stdout]     |
[INFO] [stdout] 732 |             let mut buf: [u8; MAX] = mem::uninitialized();
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/mv/vec.rs:55:38
[INFO] [stdout]    |
[INFO] [stdout] 55 |         MoveVec { buf: unsafe { mem::uninitialized() }, len: 0 }
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/board/piece_map/mod.rs:257:47
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let mut map: PieceMap = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/board/piece_map/mod.rs:732:43
[INFO] [stdout]     |
[INFO] [stdout] 732 |             let mut buf: [u8; MAX] = mem::uninitialized();
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/mv/vec.rs:55:38
[INFO] [stdout]    |
[INFO] [stdout] 55 |         MoveVec { buf: unsafe { mem::uninitialized() }, len: 0 }
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/util/mod.rs:24:51
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let mut pairs: [(T, U); 1000] = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/board/piece_map/entry.rs:122:21
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let field: &fmt::Debug = match *self {
[INFO] [stdout]     |                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let field: &dyn fmt::Debug = match *self {
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/board/piece_map/entry.rs:122:21
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let field: &fmt::Debug = match *self {
[INFO] [stdout]     |                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let field: &dyn fmt::Debug = match *self {
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting references to a bigger memory layout than the backing allocation is undefined behavior, even if the reference is unused
[INFO] [stdout]    --> src/board/piece_map/mod.rs:472:18
[INFO] [stdout]     |
[INFO] [stdout] 471 |         let ptr = &mut buf[start_sq as usize] as *mut u8 as *mut u32;
[INFO] [stdout]     |                   --------------------------------------------------
[INFO] [stdout]     |                   |    |
[INFO] [stdout]     |                   |    backing allocation comes from here
[INFO] [stdout]     |                   casting happend here
[INFO] [stdout] 472 |         unsafe { *ptr = VALUES.value[right as usize] };
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: casting from `u8` (1 bytes) to `u32` (4 bytes)
[INFO] [stdout]     = note: `#[deny(invalid_reference_casting)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 71]` does not permit being left uninitialized
[INFO] [stdout]    --> src/board/piece_map/mod.rs:732:38
[INFO] [stdout]     |
[INFO] [stdout] 732 |             let mut buf: [u8; MAX] = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this code causes undefined behavior when executed
[INFO] [stdout]     |                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u16; 255]` does not permit being left uninitialized
[INFO] [stdout]   --> src/mv/vec.rs:55:33
[INFO] [stdout]    |
[INFO] [stdout] 55 |         MoveVec { buf: unsafe { mem::uninitialized() }, len: 0 }
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 this code causes undefined behavior when executed
[INFO] [stdout]    |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hexe_core` (lib) due to 2 previous errors; 11 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: function `rand_pairs` is never used
[INFO] [stdout]   --> src/util/mod.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn rand_pairs<T, U>() -> [(T, U); 1000]
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting references to a bigger memory layout than the backing allocation is undefined behavior, even if the reference is unused
[INFO] [stdout]    --> src/board/piece_map/mod.rs:472:18
[INFO] [stdout]     |
[INFO] [stdout] 471 |         let ptr = &mut buf[start_sq as usize] as *mut u8 as *mut u32;
[INFO] [stdout]     |                   --------------------------------------------------
[INFO] [stdout]     |                   |    |
[INFO] [stdout]     |                   |    backing allocation comes from here
[INFO] [stdout]     |                   casting happend here
[INFO] [stdout] 472 |         unsafe { *ptr = VALUES.value[right as usize] };
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: casting from `u8` (1 bytes) to `u32` (4 bytes)
[INFO] [stdout]     = note: `#[deny(invalid_reference_casting)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 71]` does not permit being left uninitialized
[INFO] [stdout]    --> src/board/piece_map/mod.rs:732:38
[INFO] [stdout]     |
[INFO] [stdout] 732 |             let mut buf: [u8; MAX] = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this code causes undefined behavior when executed
[INFO] [stdout]     |                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u16; 255]` does not permit being left uninitialized
[INFO] [stdout]   --> src/mv/vec.rs:55:33
[INFO] [stdout]    |
[INFO] [stdout] 55 |         MoveVec { buf: unsafe { mem::uninitialized() }, len: 0 }
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 this code causes undefined behavior when executed
[INFO] [stdout]    |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 13 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hexe_core` (lib test) due to 2 previous errors; 13 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "ba2b2de48f578a9c551a17f9be53850bc6ed8ccf7d2f38c271e84d175bdf981a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ba2b2de48f578a9c551a17f9be53850bc6ed8ccf7d2f38c271e84d175bdf981a", kill_on_drop: false }`
[INFO] [stdout] ba2b2de48f578a9c551a17f9be53850bc6ed8ccf7d2f38c271e84d175bdf981a
[INFO] checking hexe_core-0.0.5 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate hexe_core 0.0.5 into /workspace/builds/worker-0-tc2/source
[INFO] validating manifest of crates.io crate hexe_core 0.0.5 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate hexe_core 0.0.5
[INFO] finished tweaking crates.io crate hexe_core 0.0.5
[INFO] tweaked toml for crates.io crate hexe_core 0.0.5 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 79d78512f7efd0fc0ceaf25fe880c78aeb7248e0bb9720e00b0cd607af4b43b3
[INFO] running `Command { std: "docker" "start" "-a" "79d78512f7efd0fc0ceaf25fe880c78aeb7248e0bb9720e00b0cd607af4b43b3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "79d78512f7efd0fc0ceaf25fe880c78aeb7248e0bb9720e00b0cd607af4b43b3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "79d78512f7efd0fc0ceaf25fe880c78aeb7248e0bb9720e00b0cd607af4b43b3", kill_on_drop: false }`
[INFO] [stdout] 79d78512f7efd0fc0ceaf25fe880c78aeb7248e0bb9720e00b0cd607af4b43b3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0b8ca84ec07e26e14fcf157bcfa1f101a5e532834ced1da31ecf23dc5b39e5b7
[INFO] running `Command { std: "docker" "start" "-a" "0b8ca84ec07e26e14fcf157bcfa1f101a5e532834ced1da31ecf23dc5b39e5b7", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]     Checking memchr v2.7.1
[INFO] [stderr]     Checking uncon v1.1.0
[INFO] [stderr]     Checking static_assertions v0.2.5
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]    Compiling uncon_derive v1.1.1
[INFO] [stderr]     Checking hexe_core v0.0.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/board/piece_map/mod.rs:209:21
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 b'1'...b'8' => {
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/board/piece_map/mod.rs:258:18
[INFO] [stdout]     |
[INFO] [stdout] 258 |         for i in 0..SQUARE_NUM {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/board/piece_map/mod.rs:740:26
[INFO] [stdout]     |
[INFO] [stdout] 740 |             for rank in (0..NUM).rev().map(Rank::from) {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/board/piece_map/mod.rs:742:30
[INFO] [stdout]     |
[INFO] [stdout] 742 |                 for file in (0..NUM).map(File::from) {
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/castle.rs:283:33
[INFO] [stdout]     |
[INFO] [stdout] 283 |             iter::Range { iter: 05..07 },
[INFO] [stdout]     |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/castle.rs:284:33
[INFO] [stdout]     |
[INFO] [stdout] 284 |             iter::Range { iter: 01..04 },
[INFO] [stdout]     |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/castle.rs:285:33
[INFO] [stdout]     |
[INFO] [stdout] 285 |             iter::Range { iter: 61..63 },
[INFO] [stdout]     |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/castle.rs:286:33
[INFO] [stdout]     |
[INFO] [stdout] 286 |             iter::Range { iter: 57..60 },
[INFO] [stdout]     |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/color.rs:86:51
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 b'w' => (Color::White, &COLORS[0][1..]),
[INFO] [stdout]    |                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/color.rs:87:51
[INFO] [stdout]    |
[INFO] [stdout] 87 |                 b'b' => (Color::Black, &COLORS[1][1..]),
[INFO] [stdout]    |                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/color.rs:90:30
[INFO] [stdout]    |
[INFO] [stdout] 90 |             let rem = &bytes[1..];
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/iter.rs:113:44
[INFO] [stdout]     |
[INFO] [stdout] 113 |     const ALL: Range<Self> = Range { iter: T::MIN..T::MAX };
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/iter.rs:176:23
[INFO] [stdout]     |
[INFO] [stdout] 176 |         Range { iter: start.raw()..T::MAX }
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/iter.rs:183:23
[INFO] [stdout]     |
[INFO] [stdout] 183 |         Range { iter: T::MIN..(end.raw() + T::Raw::from(1)) }
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/iter.rs:190:23
[INFO] [stdout]     |
[INFO] [stdout] 190 |         Range { iter: T::MIN..end.raw() }
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/iter.rs:217:27
[INFO] [stdout]     |
[INFO] [stdout] 217 |             Range { iter: b..(a + T::Raw::from(1)) }
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/iter.rs:219:27
[INFO] [stdout]     |
[INFO] [stdout] 219 |             Range { iter: a..(b + T::Raw::from(1)) }
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/piece.rs:155:52
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 (role, &role.into_str().as_bytes()[1..], &bytes[1..])
[INFO] [stdout]     |                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/piece.rs:155:65
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 (role, &role.into_str().as_bytes()[1..], &bytes[1..])
[INFO] [stdout]     |                                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/piece.rs:164:52
[INFO] [stdout]     |
[INFO] [stdout] 164 |                 (role, &role.into_str().as_bytes()[1..], &bytes[1..])
[INFO] [stdout]     |                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/piece.rs:164:65
[INFO] [stdout]     |
[INFO] [stdout] 164 |                 (role, &role.into_str().as_bytes()[1..], &bytes[1..])
[INFO] [stdout]     |                                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/piece.rs:277:15
[INFO] [stdout]     |
[INFO] [stdout] 277 |         ROLES[1..][self as usize]
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/square/mod.rs:109:28
[INFO] [stdout]     |
[INFO] [stdout] 109 |                         $lo...$hi => unsafe { ($b - $lo).into_unchecked() },
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 114 |             Ok(Square::new(convert!(b'a', b'h', bytes[0] | 32),
[INFO] [stdout]     |                            ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `convert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/square/mod.rs:109:28
[INFO] [stdout]     |
[INFO] [stdout] 109 |                         $lo...$hi => unsafe { ($b - $lo).into_unchecked() },
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 115 |                            convert!(b'1', b'8', bytes[1])))
[INFO] [stdout]     |                            ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `convert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/square/mod.rs:155:25
[INFO] [stdout]     |
[INFO] [stdout] 155 |         Bitboard(TABLES[BETWEEN_START..][self as usize][other as usize])
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/square/mod.rs:161:25
[INFO] [stdout]     |
[INFO] [stdout] 161 |         Bitboard(TABLES[LINE_START..][self as usize][other as usize])
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/square/mod.rs:514:22
[INFO] [stdout]     |
[INFO] [stdout] 514 |             b @ b'a' ... b'f' => unsafe {
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/square/mod.rs:568:22
[INFO] [stdout]     |
[INFO] [stdout] 568 |             b @ b'1' ... b'8' => unsafe {
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/board/piece_map/tests.rs:76:22
[INFO] [stdout]    |
[INFO] [stdout] 76 |         for rank in (0..8u8).map(Rank::from).filter(|&r| r != rank) {
[INFO] [stdout]    |                      ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/board/piece_map/tests.rs:151:34
[INFO] [stdout]     |
[INFO] [stdout] 151 |             Right::WhiteKing  => 4..8,
[INFO] [stdout]     |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/board/piece_map/tests.rs:152:34
[INFO] [stdout]     |
[INFO] [stdout] 152 |             Right::WhiteQueen => 0..5,
[INFO] [stdout]     |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/board/piece_map/tests.rs:153:34
[INFO] [stdout]     |
[INFO] [stdout] 153 |             Right::BlackKing  => 60..64,
[INFO] [stdout]     |                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/board/piece_map/tests.rs:154:34
[INFO] [stdout]     |
[INFO] [stdout] 154 |             Right::BlackQueen => 56..61,
[INFO] [stdout]     |                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/board/piece_map/tests.rs:181:25
[INFO] [stdout]     |
[INFO] [stdout] 181 |               let end   = range.end..SQUARE_NUM;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 | /     test! {
[INFO] [stdout] 191 | |         right: WhiteQueen;
[INFO] [stdout] 192 | |         clear: B1, C1, D1;
[INFO] [stdout] 193 | |         empty: A1, B1, E1;
[INFO] [stdout] 194 | |         king:  C1;
[INFO] [stdout] 195 | |         rook:  D1;
[INFO] [stdout] 196 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/board/piece_map/tests.rs:181:25
[INFO] [stdout]     |
[INFO] [stdout] 181 |               let end   = range.end..SQUARE_NUM;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 | /     test! {
[INFO] [stdout] 198 | |         right: WhiteKing;
[INFO] [stdout] 199 | |         clear: F1, G1;
[INFO] [stdout] 200 | |         empty: E1, H1;
[INFO] [stdout] 201 | |         king:  G1;
[INFO] [stdout] 202 | |         rook:  F1;
[INFO] [stdout] 203 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/board/piece_map/tests.rs:181:25
[INFO] [stdout]     |
[INFO] [stdout] 181 |               let end   = range.end..SQUARE_NUM;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 | /     test! {
[INFO] [stdout] 205 | |         right: BlackQueen;
[INFO] [stdout] 206 | |         clear: B8, C8, D8;
[INFO] [stdout] 207 | |         empty: A8, B8, E8;
[INFO] [stdout] 208 | |         king:  C8;
[INFO] [stdout] 209 | |         rook:  D8;
[INFO] [stdout] 210 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/board/piece_map/tests.rs:181:25
[INFO] [stdout]     |
[INFO] [stdout] 181 |               let end   = range.end..SQUARE_NUM;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 | /     test! {
[INFO] [stdout] 212 | |         right: BlackKing;
[INFO] [stdout] 213 | |         clear: F8, G8;
[INFO] [stdout] 214 | |         empty: E8, H8;
[INFO] [stdout] 215 | |         king:  G8;
[INFO] [stdout] 216 | |         rook:  F8;
[INFO] [stdout] 217 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/board/piece_map/mod.rs:209:21
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 b'1'...b'8' => {
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/board/piece_map/mod.rs:258:18
[INFO] [stdout]     |
[INFO] [stdout] 258 |         for i in 0..SQUARE_NUM {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/board/piece_map/mod.rs:740:26
[INFO] [stdout]     |
[INFO] [stdout] 740 |             for rank in (0..NUM).rev().map(Rank::from) {
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/board/piece_map/mod.rs:742:30
[INFO] [stdout]     |
[INFO] [stdout] 742 |                 for file in (0..NUM).map(File::from) {
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/castle.rs:283:33
[INFO] [stdout]     |
[INFO] [stdout] 283 |             iter::Range { iter: 05..07 },
[INFO] [stdout]     |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/castle.rs:284:33
[INFO] [stdout]     |
[INFO] [stdout] 284 |             iter::Range { iter: 01..04 },
[INFO] [stdout]     |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/castle.rs:285:33
[INFO] [stdout]     |
[INFO] [stdout] 285 |             iter::Range { iter: 61..63 },
[INFO] [stdout]     |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/castle.rs:286:33
[INFO] [stdout]     |
[INFO] [stdout] 286 |             iter::Range { iter: 57..60 },
[INFO] [stdout]     |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/color.rs:86:51
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 b'w' => (Color::White, &COLORS[0][1..]),
[INFO] [stdout]    |                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/color.rs:87:51
[INFO] [stdout]    |
[INFO] [stdout] 87 |                 b'b' => (Color::Black, &COLORS[1][1..]),
[INFO] [stdout]    |                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/color.rs:90:30
[INFO] [stdout]    |
[INFO] [stdout] 90 |             let rem = &bytes[1..];
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/iter.rs:113:44
[INFO] [stdout]     |
[INFO] [stdout] 113 |     const ALL: Range<Self> = Range { iter: T::MIN..T::MAX };
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/iter.rs:176:23
[INFO] [stdout]     |
[INFO] [stdout] 176 |         Range { iter: start.raw()..T::MAX }
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/iter.rs:183:23
[INFO] [stdout]     |
[INFO] [stdout] 183 |         Range { iter: T::MIN..(end.raw() + T::Raw::from(1)) }
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/iter.rs:190:23
[INFO] [stdout]     |
[INFO] [stdout] 190 |         Range { iter: T::MIN..end.raw() }
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/iter.rs:217:27
[INFO] [stdout]     |
[INFO] [stdout] 217 |             Range { iter: b..(a + T::Raw::from(1)) }
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/iter.rs:219:27
[INFO] [stdout]     |
[INFO] [stdout] 219 |             Range { iter: a..(b + T::Raw::from(1)) }
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/piece.rs:155:52
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 (role, &role.into_str().as_bytes()[1..], &bytes[1..])
[INFO] [stdout]     |                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/piece.rs:155:65
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 (role, &role.into_str().as_bytes()[1..], &bytes[1..])
[INFO] [stdout]     |                                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/piece.rs:164:52
[INFO] [stdout]     |
[INFO] [stdout] 164 |                 (role, &role.into_str().as_bytes()[1..], &bytes[1..])
[INFO] [stdout]     |                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/piece.rs:164:65
[INFO] [stdout]     |
[INFO] [stdout] 164 |                 (role, &role.into_str().as_bytes()[1..], &bytes[1..])
[INFO] [stdout]     |                                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/piece.rs:277:15
[INFO] [stdout]     |
[INFO] [stdout] 277 |         ROLES[1..][self as usize]
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/piece.rs:306:22
[INFO] [stdout]     |
[INFO] [stdout] 306 |         for role in (0..6u8).map(Role::from) {
[INFO] [stdout]     |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/square/mod.rs:109:28
[INFO] [stdout]     |
[INFO] [stdout] 109 |                         $lo...$hi => unsafe { ($b - $lo).into_unchecked() },
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 114 |             Ok(Square::new(convert!(b'a', b'h', bytes[0] | 32),
[INFO] [stdout]     |                            ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `convert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/square/mod.rs:109:28
[INFO] [stdout]     |
[INFO] [stdout] 109 |                         $lo...$hi => unsafe { ($b - $lo).into_unchecked() },
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] ...
[INFO] [stdout] 115 |                            convert!(b'1', b'8', bytes[1])))
[INFO] [stdout]     |                            ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `convert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/square/mod.rs:155:25
[INFO] [stdout]     |
[INFO] [stdout] 155 |         Bitboard(TABLES[BETWEEN_START..][self as usize][other as usize])
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/square/mod.rs:161:25
[INFO] [stdout]     |
[INFO] [stdout] 161 |         Bitboard(TABLES[LINE_START..][self as usize][other as usize])
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/square/mod.rs:514:22
[INFO] [stdout]     |
[INFO] [stdout] 514 |             b @ b'a' ... b'f' => unsafe {
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/square/mod.rs:568:22
[INFO] [stdout]     |
[INFO] [stdout] 568 |             b @ b'1' ... b'8' => unsafe {
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/square/mod.rs:674:34
[INFO] [stdout]     |
[INFO] [stdout] 674 |                 for occupied in (0..20_000).map(|_| Bitboard(rng.gen())) {
[INFO] [stdout]     |                                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 709 |     sliding_attacks! { rook_attacks bishop_attacks queen_attacks }
[INFO] [stdout]     |     -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `sliding_attacks` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/square/mod.rs:751:19
[INFO] [stdout]     |
[INFO] [stdout] 751 |         for ch in b'A'..(b'F' + 1) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/square/mod.rs:760:19
[INFO] [stdout]     |
[INFO] [stdout] 760 |         for ch in b'1'..(b'8' + 1) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/board/piece_map/mod.rs:257:47
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let mut map: PieceMap = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/board/piece_map/mod.rs:732:43
[INFO] [stdout]     |
[INFO] [stdout] 732 |             let mut buf: [u8; MAX] = mem::uninitialized();
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/mv/vec.rs:55:38
[INFO] [stdout]    |
[INFO] [stdout] 55 |         MoveVec { buf: unsafe { mem::uninitialized() }, len: 0 }
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/board/piece_map/mod.rs:257:47
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let mut map: PieceMap = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/board/piece_map/mod.rs:732:43
[INFO] [stdout]     |
[INFO] [stdout] 732 |             let mut buf: [u8; MAX] = mem::uninitialized();
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/mv/vec.rs:55:38
[INFO] [stdout]    |
[INFO] [stdout] 55 |         MoveVec { buf: unsafe { mem::uninitialized() }, len: 0 }
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/util/mod.rs:24:51
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let mut pairs: [(T, U); 1000] = unsafe { mem::uninitialized() };
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/board/piece_map/entry.rs:122:21
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let field: &fmt::Debug = match *self {
[INFO] [stdout]     |                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let field: &dyn fmt::Debug = match *self {
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/board/piece_map/entry.rs:122:21
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let field: &fmt::Debug = match *self {
[INFO] [stdout]     |                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 122 |         let field: &dyn fmt::Debug = match *self {
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting references to a bigger memory layout than the backing allocation is undefined behavior, even if the reference is unused
[INFO] [stdout]    --> src/board/piece_map/mod.rs:472:18
[INFO] [stdout]     |
[INFO] [stdout] 471 |         let ptr = &mut buf[start_sq as usize] as *mut u8 as *mut u32;
[INFO] [stdout]     |                   --------------------------------------------------
[INFO] [stdout]     |                   |    |
[INFO] [stdout]     |                   |    backing allocation comes from here
[INFO] [stdout]     |                   casting happend here
[INFO] [stdout] 472 |         unsafe { *ptr = VALUES.value[right as usize] };
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: casting from `u8` (1 bytes) to `u32` (4 bytes)
[INFO] [stdout]     = note: `#[deny(invalid_reference_casting)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 71]` does not permit being left uninitialized
[INFO] [stdout]    --> src/board/piece_map/mod.rs:732:38
[INFO] [stdout]     |
[INFO] [stdout] 732 |             let mut buf: [u8; MAX] = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this code causes undefined behavior when executed
[INFO] [stdout]     |                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u16; 255]` does not permit being left uninitialized
[INFO] [stdout]   --> src/mv/vec.rs:55:33
[INFO] [stdout]    |
[INFO] [stdout] 55 |         MoveVec { buf: unsafe { mem::uninitialized() }, len: 0 }
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 this code causes undefined behavior when executed
[INFO] [stdout]    |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 34 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hexe_core` (lib) due to 2 previous errors; 34 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: function `rand_pairs` is never used
[INFO] [stdout]   --> src/util/mod.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn rand_pairs<T, U>() -> [(T, U); 1000]
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting references to a bigger memory layout than the backing allocation is undefined behavior, even if the reference is unused
[INFO] [stdout]    --> src/board/piece_map/mod.rs:472:18
[INFO] [stdout]     |
[INFO] [stdout] 471 |         let ptr = &mut buf[start_sq as usize] as *mut u8 as *mut u32;
[INFO] [stdout]     |                   --------------------------------------------------
[INFO] [stdout]     |                   |    |
[INFO] [stdout]     |                   |    backing allocation comes from here
[INFO] [stdout]     |                   casting happend here
[INFO] [stdout] 472 |         unsafe { *ptr = VALUES.value[right as usize] };
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: casting from `u8` (1 bytes) to `u32` (4 bytes)
[INFO] [stdout]     = note: `#[deny(invalid_reference_casting)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u8; 71]` does not permit being left uninitialized
[INFO] [stdout]    --> src/board/piece_map/mod.rs:732:38
[INFO] [stdout]     |
[INFO] [stdout] 732 |             let mut buf: [u8; MAX] = mem::uninitialized();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this code causes undefined behavior when executed
[INFO] [stdout]     |                                      help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u16; 255]` does not permit being left uninitialized
[INFO] [stdout]   --> src/mv/vec.rs:55:33
[INFO] [stdout]    |
[INFO] [stdout] 55 |         MoveVec { buf: unsafe { mem::uninitialized() }, len: 0 }
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 this code causes undefined behavior when executed
[INFO] [stdout]    |                                 help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 49 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hexe_core` (lib test) due to 2 previous errors; 49 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "0b8ca84ec07e26e14fcf157bcfa1f101a5e532834ced1da31ecf23dc5b39e5b7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0b8ca84ec07e26e14fcf157bcfa1f101a5e532834ced1da31ecf23dc5b39e5b7", kill_on_drop: false }`
[INFO] [stdout] 0b8ca84ec07e26e14fcf157bcfa1f101a5e532834ced1da31ecf23dc5b39e5b7
